{{tag>lecteur_audio}}

----

====== MPD, Music Player Daemon ======

**MPD** est un lecteur de musique utilisant une architecture client-serveur. Le serveur va agir en tant que daemon (ou service) et s'occuper de lire la musique sur l'ordinateur sur lequel il est installé et garder en mémoire la liste de lecture. Les clients mpd permettent de construire sa playlist, de la contrôler et de voir les morceaux joués. Il n'est pas obligatoire que le client soit lancé pour que mpd puisse continuer a fonctionner normalement. Il est aussi possible d'ouvrir plusieurs clients simultanément sur autant de machines qu'on le souhaite. Les avantages liés a un tel fonctionnement sont entre autre la légèreté du programme puisque seul le serveur doit être actif pour jouer la musique et la modularité des clients puisqu'ils sont indépendants. Il existe des dizaines de clients différents et ceci sur des plate-formes extrêmement variées; des outils en ligne de commande aux interfaces graphiques plus ou moins complètes en passant par les librairies permettant de piloter mpd via une page web ou les applications pour téléphone portable.

===== Installation & Configuration =====

[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt://mpd|mpd]]**.

Il vous faut maintenant [[:tutoriel:comment_editer_un_fichier|éditer le fichier]] de configuration **/etc/mpd.conf** :

Si vous souhaitez que votre serveur mpd ne soit pas limité a la machine hôte, commentez la ligne 

  bind_to_address                 "localhost"

Pour contrôler le volume de mpd indépendamment des autres applications utilisant le son, dé-commentez la ligne :

  mixer_type			"software"

Il vous faut maintenant redémarrer mpd pour que les modifications prennent effets.

  sudo /etc/init.d/mpd restart

Ou pour créer ou mettre a jour votre bibliothèque musicale, si votre client ne le permet pas :

  sudo /etc/init.d/mpd force-restart

Vous pouvez suivre la progression de la création de la bibliothèque dans le log grâce à cette commande :

  tail -f /var/log/mpd/mpd.log





==== Configuration de MPD avec PulseAudio (sous Hardy et Intrepid)====

Pour configurer votre client sous PulseAudio, il faut premièrement installer le gestionnaire de configuration de PulseAudio :
  sudo apt-get install paprefs
Puis lancez le :
  paprefs
Cochez ensuite :
- Enable network access to local sound devices et - Don't require authentication

Nous allons ensuite modifier mpd.conf :
  sudo nano /etc/mpd.conf
Dans la section Audio Output, il faut simplement mettre ces deux lignes à audio_output (en prenant bien soins de mettre en commentaire les anciennes sorties audio ALSA/OSS) :
  audio_output {
          type                    "pulse"
          name                    "My MPD PulseAudio Output"
  }
  mixer_type          "software"

la dernière ligne permet de contrôler le volume.\\
Finalement redémarrez MPD pour prendre en compte la nouvelle configuration :
  sudo /etc/init.d/mpd restart

Allez jeter un coup d'oeil à la section "Les principaux clients" ou sur le [[http://www.musicpd.org/clients.shtml|site officiel]] pour vous choisir un client :-)

== Astuces ==

  * Pour éviter les coupures des titres, enlevez les tags ID3v1 de vos musiques (facile à faire avec easytag)
  * Pour utiliser [[http://www.last.fm|Audioscrobbler]] avec mpd, il existe plusieurs solutions : [[http://www.frob.nl/scribble.html|mpdscribble]] (disponible dans le dépôt Universe (Dapper)), [[http://shii.org/mpdscrobbler|mpdscrobbler]] (script python, visiblement plus maintenu) remplaçable par [[http://codingteam.net/project/scrobd|scrobd]], et enfin [[http://unkart.ovh.org/scrobby|scrobby]] par l'auteur du client mpd [[http://unkart.ovh.org/ncmpcpp/|ncmpcpp]].












==== Configuration du Control du Volume avec Alsamixer (sous Hardy )====

Ce qui suit décrit comment configurer Mpd et alsamixer pour pouvoir contrôler le volume de Mpd et pas des autres sons du système.

1- ** Créer/Éditer /etc/asound.conf**

Premièrement, les lignes suivantes sont requises dans /etc/asound.conf.
Notez bien que le mixeur logiciel mpdvol avec le nom "MPD" sera utilisé quand vous éditerez le fichier /etc/mpd.conf.

      # the sound card
        pcm.real {
          type hw
           card 0
            device 0
                  }
      # the ipc stuff is needed for permissions, etc.
         pcm.dmixer {
          type dmix
          ipc_key 1024
          ipc_perm 0666
          slave.pcm "real"
          slave {
            period_time 0
            period_size 1024
            buffer_size 8192
            rate 44100  
                 }
         bindings {
          0 0
          1 1 
                   }
    }
   ctl.dmixer {
     type hw
     card 0
     }
   # software volume
   pcm.softvol {
     type softvol
     slave.pcm "dmixer"
     control {
       name "Software"
       card 0
     }
   }
   # mpd volume control
   pcm.mpdvol {
     type softvol
     slave.pcm "dmixer"
     control {
       name "MPD"
      card 0
     }
   }
   # ctrl for mpd volume
   ctl.mpdvol {
     type hw
     card 0
   }
  # input
   pcm.input {
           type dsnoop
           ipc_key 3129398
           ipc_key_add_uid false
           ipc_perm 0660
           slave.pcm "810"
   }
  # duplex device
   pcm.duplex {
           type asym
           playback.pcm "softvol"
          capture.pcm "input"
   }
   # default devices
   pcm.!default {
     type plug
     slave.pcm "duplex"
   }
   # for oss devices
   pcm.dsp0 {
     type plug
    slave.pcm "duplex"
   }

2- **Modifier /etc/mpd.conf**

Certaines modifications doivent être apportées au fichier  /etc/mpd.conf.

Dans la section **Audio output**, ajoutez les lignes suivantes :
      
        audio_output {
            type          "alsa"
            name          "Alsa Software Volume"
            device        "mpdvol"
        }

Dans la section **Volume control mixer**, modifiez les valeurs comme ceci :

        mixer_type                      "alsa"
        mixer_device                    "mpdvol"
        mixer_control                   "MPD"

il ne vous restera qu'à relancer MPD via la commande :

    sudo /etc/init.d/mpd restart

et vous devriez pouvoir contrôler le Volume a partir de Mpd, enfin de ses clients. Source : [[http://mpd.wikia.com/wiki/Configuration]]



==== Utiliser mpd avec un compte utilisateur sans privilèges  ====

Si la configuration par défaut de mpd ne vous conviens pas et que vous souhaitez lancer le serveur mpd avec votre compte habituel, cette méthode vous expliquera comment procéder.

Il est d'abord nécessaire de désactiver le service mpd qui est configuré lors de l'installation :

  sudo update-rc.d -f mpd remove

Puis arrétez le service qui est actuellement lancé.

  sudo /etc/init.d/mpd stop

Effectuez une copie du fichier de configuration dans votre dossier personnel et affectez lui les droits pour votre utilisateur:  

  sudo cp /etc/mpd.conf ~/.mpdconf
  sudo chown utilisateur:utilisateur ~/.mpdconf

Créez les dossiers et fichiers nécessaires pour permettre a mpd de fonctionner :

  mkdir -p ~/.mpd/playlists
  cd ~/.mpd
  touch mpd.log mpd.db mpd.error state

Modifiez les paramètres suivants (pensez à adapter le chemin vers la racine de votre dossier de musiques) : 
  port			  "6600"
  music_directory         "/dossier/contenant/votre/musique"
  playlist_directory      "~/.mpd/playlists"
  db_file                        "~/.mpd/mpd.db"
  log_file                       "~/.mpd/mpd.log"
  error_file                    "~/.mpd/mpd.error"
  pid_file                       "~/.mpd/pid"
  state_file                    "~/.mpd/state"


Trouvez la ligne ci dessous et remplacez mpd par le nom de votre utilisateur
  user                            "mpd"

Le serveur est ensuite lancé avec la commande 
  mpd
  
Il est arrêté avec :
  mpd --kill 

Vous pouvez ensuite construire votre bibliothèque musicale avec un client qui possède cette fonctionnalité ou avec la commande :
  mpd --create-db

Si vous ne souhaitez plus utiliser cette méthode et que vous voulez revenir a un service système, vous pouvez le réactiver avec la commande suivante :

  sudo update-rc.d mpd start 30 2 3 4 5 . stop 14 0 1 6 .

Pour passer immédiatement de la méthode par utilisateur au service système lancez :

  mpd --kill
  sudo /etc/init.d/mpd start
  
==== Connexion en SSH : MPD + Client(s) ====

Je ne parlerai pas la configuration de votre Tunnel SSH, vous trouverez toutes
les informations nécessaires et plus encore [[http://doc.ubuntu-fr.org/ssh |ici]].

La situation est celle-ci : une machine possédant le serveur Mpd et une machine
cliente. Par défaut, Mpd écoute les connexions sur le port 6600.
il suffit donc, d'établir une connexion SSH comme ceci :

     ssh -L 6600:localhost:6600 utilisateur@hôte

et de connecter vos clients Mpd en localhost.




==== Configurer le serveur de streaming audio HTTP de MPD ====

MPD inclut depuis Karmic un serveur de streaming qui permet d'écouter sa musique sur un autre ordinateur ou un smartphone, en déplacement ou sous sa douche.
voir la page dédiée :

[[tutoriel:configurer_le_serveur_de_streaming_audio_http_de_mpd]]

===== Les principaux clients =====

=== gmpc (Gnome Music Player Client) ===

== Possibilités ==
  * Supporte la sauvegarde et la création de playlists
  * Permet de naviguer dans la bibliothèque de musique disponible
  * Basé sur les informations des tag ID3
  * Permet des recherches variées, dans les artistes, albums, titres et noms de fichiers
  * Un affichage dans la zone de notification

== Screenshots == 

{{applications:gmpctray.png}}
{{applications:gmpcinterface.png}}

=== Ario ===

[[http://ario-player.sourceforge.net/|Site officiel]]


== Possibilités ==
  * Permet la navigation dans la bibliothèque
  * Permet la navigation dans le système de fichiers
  * Téléchargement de pochettes d'albums et de paroles de chansons
  * Supporte la sauvegarde et la création de playlists
  * Permet des recherches variées, dans les artistes, albums, titres et noms de fichiers
  * Un affichage dans la zone de notification
  * Extensible par plugin
  * Plugin audioscrobbler
  * Playlist dynamique avec LastFm
  * Edition des tags

== Screenshots == 

{{ario-middle.png}}

=== ncmpc (NCurse Music Player Client) [Vieux et plus trop mis à jour] ===

[[http://hem.bredband.net/kaw/ncmpc|Site officiel]]

== Screenshots ==
{{applications:ncmpc.png}}

=== ncmpcpp (pareil que précédemment, mais en C++ et en plus mieux bien. Plein de fonctionnalités en plus) ===
[[http://unkart.ovh.org/ncmpcpp/|Site officiel]]

== Screenshots ==
http://unkart.ovh.org/ncmpcpp/screenshots.php

=== Sonata ===

[[http://sonata.berlios.de/|Site officiel]]

== Possibilités ==
  * Supporte la sauvegarde et la création de playlists
  * Permet de naviguer dans la bibliothèque de musique disponible (selon les fichiers, les albums ou les artistes)
  * Basé sur les informations des tag ID3
  * Permet des recherches variées, dans les artistes, albums, titres, genres et noms de fichiers
  * Gére le streaming de radios via le net
  * Un affichage optionnel dans la zone de notification lors du changement de musique
  * Recherche les pochettes (local puis net)
  * Sait se faire discret (une seule icône sur la zone de notification)

== Screenshots == 

{{applications:sonata.png}}

=== Emphasis ===

[[http://emphasis.tuxfamily.org|Site officiel]]

Client utilisant les librairies ETK, plus particulièrement destiné aux utilisateurs d'[[enlightenment]]. Pas encore disponible dans les dépôts, vous aurez à le compiler

== Possibilités ==
  * Supporte la sauvegarde et la création de playlists
  * Permet de naviguer dans la bibliothèque de musique disponible (selon les fichiers, les albums ou les artistes)
  * Basé sur les informations des tag ID3
  * Permet des recherches variées, dans les artistes, albums, titres, genres et noms de fichiers
  * Recherche les pochettes (local puis net)
  * Permet la création de playlists
  * Affichage des paroles à venir

== Screenshots ==
{{emphasis.png}}



===== Voir aussi =====

  * [[http://mpd.wikia.com/wiki/Getting_Started|Getting Started sur le Wiki officiel]]
  * [[http://pmdz.info/blog/?19-mpd|Excellent guide d'installation sur le blog de pmd]]
  * [[https://help.ubuntu.com/community/MPD|Wiki Ubuntu Anglais (méthode plus récente et beaucoup plus simple)]]
  * [[http://fluoblog.wordpress.com/2008/02/13/mpd-music-player-daemon-conf/| Billet expliquant comment utiliser mpd avec un compte utilisateur normal]]
----

//Contributeurs principaux : [[:utilisateurs:Elerosse]], [[:utilisateurs:goebi2k]], [[:utilisateurs:TMS]], [[:utilisateurs:Ethanfel]], [[:utilisateurs:banana.boy]].//

